// var obj1={
//     name:"zhangsan",
//     age:12,
//     gender,
//     sarlary,
//     sayName:
// }
// var obj2={
//     name:"lisi",
//     age:13
// }
// var obj3={
//     name:"zhangsan",
//     age:15
// }

// 批量创建对象 封装创建对象的函数 提高代码复用率
// 1.工厂模式
// 缺点:无法区分创建出来的对象种类 方法冗余
var sayName = function () {
    console.log(this.name);
}
function Person(name, age, gender) {
    // return 'hello'
    return {
        name: name,
        age: age,
        gender: gender,
        sayName:sayName
        }
}
var p1 = Person('张三', 12, '男');
var p2 = Person('李四', 18, '女');
console.log(p1, p2, '工厂模式创建的对象');
p1.sayName();
p2.sayName();
console.log(p1.sayName===p2.sayName);
    // function Animal(name,age,gender){
    //     return {
    //         name:name,
    //         age:age,
    //         gender:gender
    //     }
    // };
    // var animal1=Animal('兔子',18,'男');
    // console.log(animal1);
// 2.构造函数模式
// 3.原型模式
// 4.组合模式